1
От структур к абстрактным типам данных
AI037Lesson 11
00:00

Путь от структуры к абстрактному типу данных (АТД) отмечает переход от «стеклянного ящика», где каждый внутренний провод виден, к «черному ящику», где интерфейс разделён от реализации. Этот сдвиг гарантирует инкапсуляцию: пользователи взаимодействуют с функциями, такими как читать или объединять не зная, как рассчитывается или хранится доход.

1. Архитектура классов

Каждый класс определяет уникальную идентичность типа. Даже если два класса имеют одинаковые члены, C++ считает их несовместимыми. Используя typedef и впереди объявления (например, class Screen;) позволяет нам проектировать сложные отношения, сохраняя абстракцию. Мы часто используем синтезированные версии конструкторов, например Sales_data() = default;, чтобы сохранить удобство встроенных типов ($$total = trans;$$).

АТД «Чёрный ящик»Реализация (частная)читатьпечатьдобавитьПУБЛИЧНЫЙ ИНТЕРФЕЙС

2. Функции интерфейса вне класса

Функции, такие как читать являются Функциями, связанными с классом, но не входящими в него. Они являются частью интерфейса, но не самого класса, часто требуя дружбы для доступа к частным данным.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>